package yxgf.oem.oemquotemgt.commons.dto;

import kd.bos.dataentity.entity.DynamicObjectCollection;

import java.util.Date;
import java.util.List;

/**
 * @description： 合同约定单基本信息Dto
 * @version: v1.0
 * @author: Junit
 * @date: 2025/5/25
 */
public class ContractBaseInfoDto {
    /**
     * 单据id
     */
    private Long id;
    /*** 基本信息 ***/
    /**
     * 单据编号
     */
    private String billNo;

    /**
     * 客户ID
     */
    private Long cusId;

    /**
     * 币种yxgf_monetary
     */
    private Long monetary;

    /**
     * 提前预测天数
     */
    private Integer advancedDay;

    /**
     * 报价模式
     */
    private String quoteMode;


    /**
     * 组织设置-销售组织ID
     */
    private Long saleOrgId;

    /**
     * 提货点
     */
    private Long orderAddrId;

    /**
     * 库存来源
     */
    private Long stockAddrId;

    /**
     * 实际产品地址
     */
    private Long realProAddrId;


    /**
     * 合同信息-开始时间
     */
     private String contractBillNo;

     /**
     * 开始时间
     */
    private Date contractStarDay;

    /**
     * 开始时间
     */
    private Date contractEndDay;

    /**
     * 报价负责人
     */
    private Long principalId;

    /**
     * 配送方式
     */
    private String deliMode;


    /**
     * 报价日
     */
    private List<Integer> quoteDays;

    /**
     * 产品明细
     */
    private List<ContractProductDto> productDtoList;

    /**
     * 报价规则
     */
    private ContractQuoteRuleDto contractQuoteRuleDto;

    /**
     * 基数计算方式
     */
    private List<ContractBaseWayDto> baseWayDtoList;


    /**
     * 基数计算方式
     */
    private DynamicObjectCollection baseWayDtoDynObj;

    /**
     * 汇易网价格
     */
    private List<ContractHywPriceDto> hywPriceDtoList;


    /**
     * 显示配方
     */
     private Integer showFormula;

    /**
     * 显示定价
     */
     private Integer showPricing;

    /**
     * 显示基本费用
     */
     private Integer showBaseCost;

    /**
     * 显示上一次价格
     */
     private Integer showLastPrice;


    public Integer getShowFormula() {
        return showFormula;
    }

    public void setShowFormula(Integer showFormula) {
        this.showFormula = showFormula;
    }

    public String getDeliMode() {
        return deliMode;
    }

    public void setDeliMode(String deliMode) {
        this.deliMode = deliMode;
    }

    public Integer getShowPricing() {
        return showPricing;
    }

    public void setShowPricing(Integer showPricing) {
        this.showPricing = showPricing;
    }

    public Integer getShowBaseCost() {
        return showBaseCost;
    }

    public void setShowBaseCost(Integer showBaseCost) {
        this.showBaseCost = showBaseCost;
    }

    public Integer getShowLastPrice() {
        return showLastPrice;
    }

    public void setShowLastPrice(Integer showLastPrice) {
        this.showLastPrice = showLastPrice;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public Long getCusId() {
        return cusId;
    }

    public Long getSaleOrgId() {
        return saleOrgId;
    }

    public DynamicObjectCollection getBaseWayDtoDynObj() {
        return baseWayDtoDynObj;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getRealProAddrId() {
        return realProAddrId;
    }

    public void setRealProAddrId(Long realProAddrId) {
        this.realProAddrId = realProAddrId;
    }

    public void setBaseWayDtoDynObj(DynamicObjectCollection baseWayDtoDynObj) {
        this.baseWayDtoDynObj = baseWayDtoDynObj;
    }

    public void setSaleOrgId(Long saleOrgId) {
        this.saleOrgId = saleOrgId;
    }

    public void setCusId(Long cusId) {
        this.cusId = cusId;
    }

    public Integer getAdvancedDay() {
        return advancedDay;
    }

    public void setAdvancedDay(Integer advancedDay) {
        this.advancedDay = advancedDay;
    }

    public String getQuoteMode() {
        return quoteMode;
    }

    public void setQuoteMode(String quoteMode) {
        this.quoteMode = quoteMode;
    }

    public String getContractBillNo() {
        return contractBillNo;
    }

    public void setContractBillNo(String contractBillNo) {
        this.contractBillNo = contractBillNo;
    }

    public Long getOrderAddrId() {
        return orderAddrId;
    }

    public void setOrderAddrId(Long orderAddrId) {
        this.orderAddrId = orderAddrId;
    }

    public Long getStockAddrId() {
        return stockAddrId;
    }

    public void setStockAddrId(Long stockAddrId) {
        this.stockAddrId = stockAddrId;
    }

    public Date getContractStarDay() {
        return contractStarDay;
    }

    public void setContractStarDay(Date contractStarDay) {
        this.contractStarDay = contractStarDay;
    }

    public Date getContractEndDay() {
        return contractEndDay;
    }

    public void setContractEndDay(Date contractEndDay) {
        this.contractEndDay = contractEndDay;
    }

    public Long getPrincipalId() {
        return principalId;
    }

    public void setPrincipalId(Long principalId) {
        this.principalId = principalId;
    }

    public List<Integer> getQuoteDays() {
        return quoteDays;
    }

    public void setQuoteDays(List<Integer> quoteDays) {
        this.quoteDays = quoteDays;
    }

    public List<ContractProductDto> getProductDtoList() {
        return productDtoList;
    }

    public void setProductDtoList(List<ContractProductDto> productDtoList) {
        this.productDtoList = productDtoList;
    }

    public ContractQuoteRuleDto getContractQuoteRuleDto() {
        return contractQuoteRuleDto;
    }

    public void setContractQuoteRuleDto(ContractQuoteRuleDto contractQuoteRuleDto) {
        this.contractQuoteRuleDto = contractQuoteRuleDto;
    }

    public List<ContractBaseWayDto> getBaseWayDtoList() {
        return baseWayDtoList;
    }

    public void setBaseWayDtoList(List<ContractBaseWayDto> baseWayDtoList) {
        this.baseWayDtoList = baseWayDtoList;
    }

    public List<ContractHywPriceDto> getHywPriceDtoList() {
        return hywPriceDtoList;
    }

    public void setHywPriceDtoList(List<ContractHywPriceDto> hywPriceDtoList) {
        this.hywPriceDtoList = hywPriceDtoList;
    }

    public Long getMonetary() {
        return monetary;
    }

    public void setMonetary(Long monetary) {
        this.monetary = monetary;
    }
}
